package ecs.core;

import ecs.net.EventType;

public interface ISystem {

    <T extends IScene> void parent(T scene);
    <T extends IScene> T parent();
    void handle(EventType event, Object param);
    void broadcast(EventType event, Object param);

    void start();
    void stop();

    <T extends IEntity> void entry(T entity);
    <T extends IEntity> void quit(T entity);

}
